#pragma once

#include "Util/NoticeCenter.h"
#include "Util/mini.h"
#include "Util/onceToken.h"
#include <string>
#include <functional>

using namespace std;

#define INICONFIG "config.ini"

// 加载配置文件，如果配置文件不存在，那么会导出默认配置并生成配置文件
// 如果指定的文件名(ini_path)为空，那么会加载默认配置文件
// 默认配置文件名为 /path/to/your/exe.ini
// 加载配置文件成功后返回true，否则返回false
bool loadIniConfig(const char *ini_path = nullptr);

namespace COF_CMS {

    extern const string kenable;
    extern const string kReceiveNum;          //端口
    extern const string kCenterIP;      //cms ip
    extern const string kCenterPort;
    extern const string kLineNum;
    extern const string kCommPro;
    extern const string kHeartBeat;
};
namespace COF_DEVICE {

    extern const string kenable ;
    extern const string kHostAddress ;
    extern const string kDevicePort ;
    extern const string kOnlineCode ;
    extern const string kOfflineCode ;
    extern const string kHeartBeat ;
    extern const string kEncryptionKey ;
};


namespace COF_HTTP_PARAMS{
    extern const string ksvrip;
    extern const string ksvrport;
}